import {defineStore} from "pinia";
import router from "@/router";


export const useTagStore = defineStore('TagStore', {
    state(){
        return {
            tagList:[]
        }
    },
    actions:{
        addTag(route){
            this.tagList.push(route)
        },
        removeTag(index:number, isCurrent:boolean) {
            // const removedTag = this.tagList[index];
            this.tagList.splice(index, 1);
            // 如果关闭的是当前展示的标签
            if (isCurrent) {
              //如果关闭的是最后一个标签 调转到首页
              if (this.tagList.length === 0) {
                router.push('/');
              } else {
                // 否则跳转到前一个标签对应的路由路径
                // 这行代码的作用是获取一个索引值，该索引值为传入的 index 和当前标签列表长度-1中的较小值。
                // 目的是确保 prevIndex 不会超出标签列表的有效索引范围。
                const prevIndex = Math.min(index, this.tagList.length - 1);
                router.push(this.tagList[prevIndex].path);
              }
            }
        }
    },
    persist:true
})